Video display is one of the most effective means of visual communication. Video display includes presenting a sequence of digital images, also called video frames, to a user. Typically at least 24 frames are displayed per second. To convert an analog video signal into digital video signal, digitization is needed to convert each video image into digital samples, called pixels. For the North American television system (NTSC), the frame rate is 30 frames per second with each frame including up to 720×486 pixels for standard definition. For part of Europe and Asia, the standard frame rate is 25 frames per second, at 720×525 pixels. Although the resulting digitized video represents an accurate representation of the original video signal, it also represents massive amount of data, typically in the range of 150-270 Mbps (megabits per second) for real-time display. Such a high bit rate is prohibitive for low cost distribution and storage.
Digital video compression techniques were developed to reduce the amount of data required to represent the digital video signal. The video compression process can be applied to remove redundant visual information, or to provide less detail in the video image in order to reduce the number of digital bits required to represent and to reproduce the video frames. The video compression process consists a combination of lossless and lossy compression methods. Lossless compression methods remove temporal and spatial redundant information in the video image sequences by coding only the difference between the image pixels. The lossy compression methods exploit the insensitivity of human vision system to certain aspects of the video images so that the resulting visual impact of the lossy compression is minimized, yet still resulting in savings of digital bits.
A typically digital video compression process for the mass distribution of broadcast quality content produces a compressed bit stream having bit rates between 3 Mbps and 6 Mbps without significant loss of video quality when the bitstream is decompressed and displayed. Examples of such signals include DVD content, digital broadcast satellite digital cable services, and digital terrestrial television (TV) broadcast signals. The digital video compression process provides parameters and algorithms to produce an encoded, compressed video bitstream at a given bit rate and associated video quality. Specifically, the more compression that is applied to the video signal, the lower the resulting bit rate and video quality. This trade-off between bit rate and video signal distortion (as a result of the encoding process) is typically decided at the time of encoding.
A digital video service provider (hereinafter “service provider”) may receive MPEG-2 digital video programming streams from satellites, real-time digital video program encoders, or video servers. These programming streams generally contain multiple bitstreams of compressed video, audio, and data streams all running at variable bit rates (VBRs). A variable bit rate video stream cannot be transferred and decoded for display at a continuous frame rate over a constant bit rate channel with a real-time decoder at the receiver end, the decoder having a prescribed finite buffer. These bitstreams are statistically multiplexed to form a single constant-bit-rate (CBR) stream or multiplex. As such, the bit rate of each constituent bitstream of a multiple bitstream multiplex depends upon the bit rates of the other bitstreams in the multiplex. For example, if one bitstream has a higher share of the total multiplex bandwidth, other bitstreams will correspondingly have an aggregate lower share of the multiplex bandwidth. The bandwidth allocation among different bitstreams is not static, but is dynamically adjusted over time, depending on the relative spatial and temporal image complexities of the coded video frames within each bitstream.
For the service provider to deliver digital video content to users, it is frequently necessary to adjust the bit rate of an encoded bitstream. For example, a service provider may want to extract certain programming streams from a multiplexed satellite-based source and provide the extracted programming streams to its users or customers. Specifically, when bitstreams are extracted from a statistical multiplex, they must be combined to form a new output bitstream multiplex. In this case, the peak bit rates of the various source streams could exceed the total fixed bit rate for the output bitstream and exceed the service provider's downstream communications channel capacity. Therefore, the bit rate of the source streams needs to be adjusted and remultiplexed to meet communications channel capacity constraints.
FIG. 1 is a block diagram of a conventional transrating multiplexer 100. The illustrated conventional transrating multiplexer 100 includes a first transrator 115, a second transrator 120, and a statistical multiplexer 125. The first transrator 115 receives as input a first input stream 105. The second transrator 120 receives as input a second input stream 110. The first and the second input streams 105, 110 represent conventional compressed digital video bitstreams formatted in, for example, MPEG-2 transport packets. The first and the second transrators 115, 120 provide output bitstreams to the statistical multiplexer 125. The first and the second transrators 115, 120 adjust the bit rate of the input streams 105, 110. Typically the first and the second transrators 115, 120 reduce the bit rate or produce no change to the bit rate of the input streams 105, 110. The statistical multiplexer 125 combines the output bitstreams into a constant bit rate (CBR) stream suitable for transport or delivery on a communications channel.
To control the output of the first and second transrators 115, 120, the statistical multiplexer 125 is coupled to the first and the second transrators 115, 120 via feedback paths 117, 122. The feedback paths 117, 122 include control signals that enable the statistical multiplexer 125 to adjust dynamically the bit rate of bitstreams produced by the first or the second transrators 115, 120. The bit rate adjustment is needed for the statistical multiplexer 125 to produce an output stream 130 that efficiently utilizes the channel bandwidth. That is, the bit rate of the bitstream generated by the first transrator 115 and/or the second transrator 120 may need to be adjusted to meet packet scheduling constraints imposed by multiplexing the bitstreams for transport over a fixed bandwidth channel.
With a conventional compressed digital video data format, such as MPEG-2, the bit rate of a bitstream cannot be adjusted by merely removing data from the bitstream. The decoding process needs all the data in the bitstream to produce a video sequence, and arbitrarily stripping bits from the bitstream yields incomplete information which results in decoding errors. There are several conventional techniques, however, to change or to reduce the bit rate of a compressed digital video bitstream. One conventional technique is to decode the bitstream, recalculate the motion estimation vectors, and then re-encode the bitstream at a reduced bit rate. Recalculation of motion estimation vectors uses substantial computing resources. FIG. 2 is a block diagram that illustrates another conventional transrating system that reuses the motion estimation vectors rather than recomputing them for the transrated bitstream.
In FIG. 2, a compressed video bitstream 205 is provided as input to an extract packet payload module 210. The extract packet payload module 210 removes system layer packet information of the bitstream and produces an elementary stream. The elementary stream is then provided as input to a variable length decode module 215. The variable length decode module 215 decodes the elementary stream to provide motion vectors 217 and to provide data to an inverse quantization module 220. The data then flows from the inverse quantization module 220 to the inverse discrete cosine transform module 225. The output of the inverse discrete cosine transform module 225 is provided as input to the motion compensation module 230. The motion compensation module 230 also receives the motion vectors 217 as input. A frame buffer 235 is optionally coupled to the motion compensation module 230. The frame buffer 235 can be used to present or to display the data for compensating for motion error as a result of reusing the motion vectors 217. The motion compensation module 230 provides output data to a discrete cosine transform module 240.
From the discrete cosine transform module 240, the data flows to the quantization module 245. The quantization module 245 applies a quantization scale factor that correlates with the target (transrated) bit rate. A variable length code encoder 250 receives the output from the quantization module 245. The variable length code encoder 250 provides data to a packetizer 255, which adds MPEG-2 packet structure to the data. The packetizer 255 produces as output the transrated video bitstream 260.
One problem with conventional digital video distribution systems is that a conventional transrating multiplexer 100 is needed to fill each fixed bandwidth channel that is provisioned for digital video delivery. Depending on the services offered or the service differentiation provided to users, several conventional transrating multiplexers 100 may be needed in a headend or near the point of transport over a fixed bandwidth channel.
Further, in typical digital video distribution systems the transrating and multiplexing functions need to be performed in real-time, which involves substantial computing resources. The conventional transrating multiplexer 100 therefore uses specialized or expensive hardware to meet real-time performance constraints. Because of the real-time nature of digital video delivery, the conventional transrating multiplexer 100 incorporates feedback paths 117, 122 to adjust dynamically the transrator output bit rate for high bandwidth utilization without adding significant delay to the constituent bit streams.
What is needed is a system and method for remultiplexing compressed digital video capable of near real-time operation, without the feedback paths or expensive hardware associated with a conventional transrating multiplexer.